Skip to content

feat(platform): add agentsDefault/projectsDefault to Heartbeat#107

Merged
vreshch merged 1 commit intomasterfrom
feature/heartbeat-config-fields
Apr 19, 2026
Merged

feat(platform): add agentsDefault/projectsDefault to Heartbeat#107
vreshch merged 1 commit intomasterfrom
feature/heartbeat-config-fields

Conversation

@vreshch
Copy link
Copy Markdown
Contributor

@vreshch vreshch commented Apr 19, 2026

Summary

Two optional string fields on the Heartbeat interface so daemons can report their configured install target (agents.default) and discovery root (projects.default) for display on the dashboard machine detail page.

Both optional — existing daemons (@agentage/cli < 0.19) keep sending heartbeats unchanged. Consumers on the hub side (web backend) will strip unknown fields today via Zod default behaviour; schema update will ship in the web repo PR.

Pairs with:

  • web repo PR (upcoming) — Supabase migration + heartbeat schema + dashboard render
  • cli repo PR (upcoming) — daemon side wires agentsDefault / projectsDefault from loadConfig()

Test plan

  • npm run verify — type-check + build clean, all existing tests pass
  • After release: @agentage/platform@0.6.0 (minor bump — additive type change) published to npm
  • Consumer verify: cli picks up the new types after bump

Two optional string fields on Heartbeat so daemons can report their
configured install target (agents.default) and discovery root
(projects.default) for display on the dashboard machine detail page.

Both optional — existing daemons (@agentage/cli < 0.19) keep sending
heartbeats unchanged.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 19, 2026

🎉 PR Validation ✅ PASSED

Commit: 6beb718cd9a92b2526807e69694a86991fa337cf
Branch: feature/heartbeat-config-fields

Checks:

  • ✅ Release guard (no version/changelog changes)
  • ✅ Dependencies installed
  • ✅ Type check passed
  • ✅ Linting passed
  • ✅ Format check passed
  • ✅ Tests + coverage passed
  • ✅ Build successful

Ready to merge!


🔗 View workflow run
⏰ Generated at: 2026-04-19T22:46:51.327Z

@vreshch vreshch merged commit 858e50a into master Apr 19, 2026
2 checks passed
@vreshch vreshch deleted the feature/heartbeat-config-fields branch April 19, 2026 22:49
vreshch added a commit to agentage/cli that referenced this pull request Apr 19, 2026
Daemon now reports its configured install target (agents.default) and
discovery root (projects.default) to the hub each heartbeat. Hub writes
these to agents_default / projects_default columns on machines; the
dashboard machine detail page renders them.

- hub-client.ts: widen the inline heartbeat body type with two optional
  string fields. No dep bump — cli carries its own heartbeat shape,
  doesn't import @agentage/platform.Heartbeat.
- hub-sync.ts: loadConfig() already available near the heartbeat path,
  added agentsDefault + projectsDefault to the payload.
- hub-sync.test: fixture assertion updated with the new fields.

Pairs with:
- agentage/web#148 — Supabase columns + ingest + UI
- agentage/agentkit#107 — Heartbeat type (informational; cli doesn't
  import the platform Heartbeat so this is a follow-up for other
  consumers)
vreshch added a commit to agentage/cli that referenced this pull request Apr 19, 2026
## Summary

Last part of the cross-repo config-defaults work. Daemon now reports its
configured install target (\`agents.default\`) and discovery root
(\`projects.default\`) to the hub each heartbeat.

- **\`src/hub/hub-client.ts\`** — widened the inline heartbeat body type
with two optional strings. **No \`@agentage/platform\` dep bump** — cli
carries its own heartbeat shape locally, doesn't import
\`platform.Heartbeat\`. Means this PR is independent of
agentage/agentkit#107.
- **\`src/hub/hub-sync.ts\`** — \`loadConfig()\` is already called on
the heartbeat path; added \`agentsDefault: config.agents.default\` and
\`projectsDefault: config.projects.default\` to the payload.
- **\`src/hub/hub-sync.test.ts\`** — fixture assertion updated.

Pairs with:
- agentage/web#148 — Supabase columns + backend ingest + dashboard card
- agentage/agentkit#107 — \`Heartbeat\` type (informational; other
consumers will pick up)

## Test plan
- [x] \`npm run verify\` — 512 tests pass
- [ ] After merge + release: upgrade daemon to new version, restart,
inspect \`machines.agents_default\` / \`projects_default\` in Supabase
- [ ] Manual: dashboard machine detail page shows the two cards
populated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant